package com.hp.gxw.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hp.gxw.entity.SaleOrder;
import com.hp.gxw.entity.SaleOrderDetails;
import com.hp.gxw.entity.SaleOrderProcess;

import java.util.List;
import java.util.Map;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author huangping
 * @since 2023-10-17
 */
public interface ISaleOrderService extends IService<SaleOrder> {

    void saveInfo(SaleOrder saleOrder, List<SaleOrderDetails> detailsList) throws Exception;

    List<SaleOrderProcess> getSettlementPrice(QueryWrapper<SaleOrder> ew);

    Page<Map<String,Object>> getSaleReportPage(Page<Object> objectPage, QueryWrapper<SaleOrder> ew);

    List<Map<String, Object>> getSaleReportList(QueryWrapper ew);

    void processInfoPrice(String detailsId, String processId);

    void add(JSONObject jsonObject);

    List<SaleOrderProcess> getSettlementPriceAdd(QueryWrapper<SaleOrder> ew);

    void upd(JSONObject jsonObject);

    Page<SaleOrder> listStat(Page<Object> objectPage, QueryWrapper<SaleOrder> ew);

    void close(String id);

    void priceNullify(String detailsId);

    void settleNullify(String detailsId);
}
